package com.lyons.generate.pojo;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;

@SuppressWarnings("serial")
@Getter
@Setter
@ToString
@NoArgsConstructor
@AllArgsConstructor
@Builder
@TableName(value = "sys_code_generate")
public class CodeGenerateConfig extends Model<CodeGenerateConfig> {

	@TableId(value = "id", type = IdType.ASSIGN_ID)
	private String id;

	/**
	 * 表配置信息ID
	 */
	@TableField(value = "code_gen_id")
	private String codeGenId;

	/**
	 * 数据库字段名
	 */
	@TableField(value = "column_name")
	private String columnName;

	/**
	 * 字段对应java代码中属性的名字
	 */
	@TableField(value = "property_name")
	private String propertyName;

	/**
	 * 表字段 数据类型
	 */
	@TableField(exist = false)
	private String columnType;

	/**
	 * JavaBean 属性数据类型
	 */
	@TableField(value = "type")
	private String type;

	/**
	 * 字段描述(备注)
	 */
	@TableField(value = "remark")
	private String remark;

	/**
	 * 字段是不是主键1:true;0:false
	 */
	@TableField(value = "is_primary")
	private Integer isPrimary;

	/**
	 * 0-password;1-input;2-select;3-checkbox;4-radio;5-textarea;6-date;
	 */
	@TableField(value = "form_type")
	private Integer formType;

	/**
	 * 页面是否显示;1-true;0-false
	 */
	@TableField(value = "is_show")
	private Integer isShow;

	/**
	 * 是否参与表单工作;1-true;0-false
	 */
	@TableField(value = "is_form")
	private Integer isForm;

	/**
	 * 是否查询(1-true;0-false)
	 */
	@TableField(value = "is_select")
	private Integer isSelect;

	/**
	 * 查询方式: 1-等于;2-模糊;3-大于;4-小于;5-不等于;6-大于等于;7-小等于
	 */
	@TableField(value = "select_type")
	private Integer selectType;

	@TableField(value = "create_time")
	private Date createTime;

	@TableField(value = "update_time")
	private Date updateTime;

}
